home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / msdos / editors / stud / art.doc next >
Text File  |  1992-04-27  |  32KB  |  808 lines

  1.  
  2.  
  3.  
  4.  
  5.                    VGA Art Studio
  6.                    --------------
  7.  
  8.  
  9.  
  10.                 Version 1.00
  11.  
  12.  
  13.  
  14.  
  15.               (c) 1992 Mooose Software
  16.  
  17.  
  18.  
  19. ------------------------------------------------------------------------------
  20. VGA Art Studio is freeware. It may be freely copied and distributed, subject to
  21. the following conditions:
  22.  
  23. 1)      VGA Art Studio may not be distributed to make a profit - ie.
  24.     VGA Art Studio must not be sold or hired.
  25.  
  26. 2)      VGA Art Studio may not be given away as part of a commercial package
  27.  
  28. 3)      If VGA Art Studio is distributed, it must be a complete, unmodified
  29.     version including documentation and this set of conditions.
  30.  
  31. The copyright for VGA Art Studio is retained by Mooose Software.
  32.  
  33. There is no warranty of VGA Art Studio's suitability for any purpose.
  34. You use this software at your own risk.
  35. -----------------------------------------------------------------------------
  36.  
  37.  
  38. Introduction
  39. ============
  40.  
  41. VGA Art Studio is an art package for the IBM PC/AT and compatibles, designed
  42. with both the artist and the software developer in mind. A range of features,
  43. and a pleasant user interface make it ideal for developing nice full-screen
  44. artwork, and its relatively straightforward file format allows software
  45. developers to design icons, sprites, etc.. and transfer them to their own
  46. applications. It contains features that many commercial art packages for the PC
  47. do not, and yet once you have become acquainted with the menu/icon system, you
  48. should find it easy to use.
  49.  
  50. VGA Art Studio was developed in C, over the course of about five months
  51. on-and-off turbo-hacking, and the source code now runs to roughly 200K - it has
  52. taken a lot of hard work and late-night coding sessions to complete this
  53. package.
  54.  
  55. If you enjoy using the software, and you feel that you would like to make a
  56. donation (to help a starving student at Bath University), then the
  57. following address is probably the best:
  58.  
  59. Ben Stragnell
  60. Victoria Cottage
  61. Radway
  62. Warwickshire
  63. CV35 OUQ
  64. ENGLAND
  65.  
  66. If you have any comments, criticism, problems, etc... then you can probably
  67. reach me at :
  68.  
  69.     ma1brs@gdt.bath.ac.uk
  70. or      ma1brs@uk.ac.bath.gdt      (whichever!)
  71.  
  72. ...but please don't get impatient about not getting a reply immediately,
  73. (or at all!). This may well be due to circumstances beyond my control.
  74.  
  75. IMPORTANT NOTE :
  76. This is the first release of VGA Art Studio, and it is therefore quite
  77. likely that there are a few bugs - hopefully nothing too severe. If you
  78. encounter any bugs in the program, then I'd be grateful if you could
  79. drop me a line, preferably with some details about how to reproduce the
  80. bug.
  81.  
  82. I'll try to answer problems, and listen to any sensible suggestions
  83. or criticisms made, but I can't necessarily guarantee any help/action.
  84.  
  85. ---------------------------------------------------------------------------
  86.  
  87.  
  88. 1.0     Getting Started
  89. =======================    
  90.  
  91. Most of the basic options in VGA Art Studio are fairly intuitive, but
  92. the more complex ones will *definately* require you to read certain
  93. sections of this document. Probably the easiest way to get to grips with
  94. the program is to print out this document, and read through it while
  95. running the program, so you can try out the more interesting looking
  96. options!
  97.  
  98.  
  99. To use VGA Art Studio, you will require the following hardware :
  100.  
  101.         o               PC/AT or compatible
  102.  
  103.         o               VGA (or above) Graphics capability
  104.  
  105.         o               Microsoft (tm) or compatible mouse driver
  106.  
  107.  
  108. Before running the program, you may find that you need to type MOUSE to
  109. initialize the Microsoft (tm) mouse driver. Once the driver is enabled, you can
  110. run VGA Art Studio by typing
  111.  
  112. ART
  113.  
  114. or
  115.  
  116. ART filename.ART
  117.  
  118. You will be presented with a title screen, and an OK button. Click
  119. the mouse on the OK button, and you will find yourself in the main editing
  120. screen of VGA Art Studio.
  121.  
  122. There are several items of "interest" in the main editing screen. These are :
  123.  
  124. The Title/Menu bar
  125.  
  126. This bar is initially positioned at the top of the screen, and consists of a
  127. small button on the left, and the menu titles. Clicking on one of the menu
  128. items will cause the appropriate dialogue to be displayed. Clicking on the
  129. button will cause the title bar to toggle between the top and bottom of the
  130. screen, so that you can see different parts of the picture. Pressing the SPACE
  131. bar will toggle the title bar between being turned on and turned off.
  132.  
  133. The Palette
  134.  
  135. The palette is displayed in a box, with a special bar at the top of it,
  136. consisting of a small button, and a bar that can be used to drag the palette
  137. around. To move that palette, click on the bar, and hold the mouse button down
  138. while you move the mouse to the new position - you will see the outline of the
  139. palette box moving with the mouse. When you have chosen the new position,
  140. release the mouse button, and the palette will be repositioned.
  141.  
  142. Clicking on the smaller button has the same effect as clicking on the Palette
  143. heading on the title bar.
  144.  
  145. Clicking on one of the colours in the palette with the left hand mouse button
  146. will select that colour as the "current foreground colour", which is used by
  147. most tools for drawing. Using the right hand mouse button selects the colour as
  148. the "current background colour", which has several uses which will be defined
  149. later.
  150.  
  151. The Main Canvas
  152.  
  153. Clicking on the main canvas will have a number of different effects, depending
  154. on the brush/tool currently selected. Generally, the palette and title bar will
  155. disappear, so that you can see the whole canvas while drawing. On releasing the
  156. mouse button, they will reappear.
  157.  
  158. The Cutout
  159.  
  160. Initially, there will be no cutout present. However, certain tools allow you to
  161. cut out an area of the picture. This cutout then "floats" on top of the
  162. picture, and can be manipulated in a number of different ways. See the EDIT
  163. menu, and also section 3.0.
  164.  
  165. --------------------------------------------------------------------------
  166.  
  167.  
  168. 2.0     The Menus themselves
  169. ============================
  170.  
  171.  
  172. The menus themselves each deal with different aspects of manipulating the image
  173. that is currently displayed. We shall deal with each menu in turn.
  174.  
  175. The FILE menu
  176. -------------
  177.  
  178. This menu deals with the transfer of image files to and from disk. The
  179. suboptions available from the FILE menu are :
  180.  
  181. NEW
  182.  
  183. Resets the screen, after allowing you to save any changes that have been made
  184. to the picture.
  185.  
  186. OPEN
  187.  
  188. Opens a previously saved picture. A file dialogue will be displayed, containing
  189. a list of files in the current directory, a list of sub-directories, a text
  190. entry field containing the current file specification, and a CANCEL button. The
  191. two lists can be scrolled by clicking the mouse button on the arrow icons. To
  192. select a file, simply click the mouse on the appropriate name. The same applies
  193. to selecting a new directory. If you wish to type in either a filename, or an
  194. ambiguous file specification, click the mouse on the text entry field. You will
  195. then be able to type a new filespec. If you decide that you do not want to load
  196. a file, click on the CANCEL button.
  197.  
  198. On loading some pictures, you may be given the message
  199.  
  200.     "Quantize first 16 colours?"
  201.  
  202. This is because some pictures may make use of the first 16 colours of the
  203. palette, which are reserved for use by VGA Art Studio. If you reply YES to this
  204. prompt, the best possible match for the 1st 16 colours in the picture will be
  205. found, thus restoring almost normal colours.
  206.  
  207. SAVE
  208.  
  209. This option allows you to write a picture onto your disk. The same file
  210. dialogue is used as for OPEN, and the whole process is fairly self-explanatory.
  211. If you want to know about the file compression algorithm that is used, see
  212. appendix A.
  213.  
  214. EXIT
  215.  
  216. Simply allows you to leave VGA Art Studio.
  217.  
  218. PRINT
  219.  
  220. Invokes the printer interface. See Appendix B for details.
  221.  
  222.  
  223. The EDIT menu
  224. -------------
  225.  
  226. If you have used either of the Cutout Brushes (see BRUSH menu) to cut out a
  227. portion of the picture, there are certain things that you can do with the
  228. cutout.
  229.  
  230. FLIP-H
  231.  
  232. This has the effect of flipping the cutout horizontally.
  233.  
  234. FLIP-V
  235.  
  236. This has the effect of flipping the cutout vertically.
  237.  
  238. ROTATE
  239.  
  240. This option prompts for a number of degrees clockwise, and then rotates the
  241. cutout accordingly. However, there are two important points to note when using
  242. this command.
  243.  
  244. i)      If the rotated cutout is too large for the memory buffer, it will be
  245. clipped - ie. it will lose its edges.
  246.  
  247. ii)     Carrying out a rotate will inevitably lose some detail in the cutout
  248. (except for rotations that are a whole number of right angles). Therefore, you
  249. should really only rotate the cutout once, to avoid excessive graininess. Later
  250. version of VGA Art Studio will hopefully have an improved rotation algorithm to
  251. help prevent this.
  252.      
  253. PICK
  254.  
  255. This option invokes a sub-menu, which deals with a number of "cunning"
  256. manipulations of the cutout.
  257.  
  258. "SIZE"
  259.  
  260. After selecting this option, drag out a rectangle of appropriate size, and the
  261. cutout will be rescaled to the new size.
  262.  
  263. Note : Shrinking the cutout inevitably loses some detail.
  264.      
  265. "WARP V"
  266.  
  267. After selecting this option, click the mouse inside a shape that has been
  268. previously drawn. The shape will be "flood-filled", but by stretching the
  269. cutout to fit the shape. Best to experiment with this option.
  270.  
  271. "WARP H"
  272.  
  273. Identical in operation to WARP V, but stretches the cutout in a different
  274. direction. 
  275.  
  276.  
  277. FILES
  278.  
  279. This option produces a new submenu, with the following options:
  280.  
  281. "COPY TO"
  282.  
  283. This option saves the current cutout to disk, in an identical way to saving a
  284. picture to disk.
  285.  
  286. "PASTE FROM"
  287.  
  288. This option replaces the current cutout (if one is present) with a
  289. cutout/picture from disk. Again, the same file dialogue is used. You will be
  290. asked
  291.  
  292.     "Do you want to Quantize the cutout?"
  293.  
  294. If you have loaded a cutout that was originally saved with a different palette,
  295. you will see that the cutout is drawn in the wrong colours. Answering YES at
  296. this point causes the program to attempt to find the most suitable colours in
  297. the present palette for the cutout. Answering NO will leave the cutout as
  298. it is, and answering MERGE will attempt to create a new palette that is a
  299. good approximation of both the palette from the cutout, and the existing
  300. palette.
  301.  
  302. "CLEAR"
  303.  
  304. This option simply removes the cutout.
  305.  
  306.  
  307.  
  308.  
  309.  
  310. The BRUSH menu
  311. --------------
  312.  
  313. Selecting the BRUSH menu causes a list of available brushes/tools to be
  314. displayed. Each tool appears on a button, and the current tool's button will be
  315. depressed. You can select a new tool by clicking on the appropriate button. The
  316. tools available are :
  317.  
  318. PENCIL
  319.  
  320. This tool is simply used for drawing freehand. The thickness of the brush is
  321. adjustable.
  322.  
  323. RECTANGLE
  324.  
  325. This tool simply draws either hollow or solid rectangles, depending on whether
  326. the left or right mouse button is used. To use the tool, hold down one of the
  327. buttons, and drag out the rectangle. When you have finished, release the mouse
  328. button. The rectangle interior (if applicable) will be drawn in the background
  329. colour, and the rectangle edges will be drawn using the current brush thickness
  330. and the current foreground colour.
  331.  
  332. BLEND/BLUR
  333.  
  334. This brush "blends" a small area of the screen. If you repeatedly drag this
  335. tool over the same area, it will become more and more smooth. This brush works
  336. best depending on how many smooth shades there are in the palette.
  337.  
  338. CUTOUT RECTANGLE
  339.  
  340. Use this tool identically to the rectangle brush. When you release the mouse
  341. button, the portion of screen that you selected will be cut out. You will see a
  342. cyan border appear around the rectangle. This area is now a cutout, and can be
  343. dragged, manipulated etc.. See the EDIT menu, and section 3.0.
  344.  
  345. CUTOUT NON-RECTANGLE
  346.  
  347. This option works as above, but is for cutting out irregular shapes. To use
  348. this, press down on the mouse button, and draw out the shape that you wish to
  349. cut out. Ensure that the line meets up, so that it forms a closed shape. The
  350. line may cross itself with no ill-effects. If you have drawn a valid shape, the
  351. cyan border will appear, and the shape will be cut out.
  352.  
  353. ZOOM
  354.  
  355. This tool allows you to make accurate adjustments to your picture, at a
  356. magnified scale. There are two zoom scales available, by using either the
  357. left/right button. Press down one of the buttons, and drag the rectangle that
  358. appears over the area you wish to edit. Release the button, and you will be in
  359. ZOOM mode.
  360.  
  361. While in ZOOM mode, you will see that an additional "window" has appeared,
  362. floating above the picture. This window shows a "to-scale" copy of the area of
  363. canvas that you are editing. Above the window is a bar containing two buttons -
  364. OK and UNDO. Between the buttons is a blue area. Clicking on this blue area
  365. allows you to drag the window around, in much the same way as the palette.
  366.  
  367. To draw in ZOOM mode, simply hold down one of the mouse buttons. The left
  368. button will draw in the current foreground colour, and the right one will draw
  369. in the current background colour. You will notice that as you draw on the
  370. screen, what you draw appears in the "to-scale" window.
  371.  
  372. If you wish to look at a different area of canvas, click on the "to-scale"
  373. window itself, and drag the rectangle that appears around until you have
  374. selected the area you want. Then release the mouse button.
  375.  
  376. When you have finished drawing in ZOOM mode, you can select either OK to keep
  377. the changes you have made, or UNDO to remove them.
  378.  
  379. LINE DRAWING
  380.  
  381. This tool simply allows you to draw straight lines in the current foreground
  382. colour, with the current brush thickness. To draw a line, simply hold down the
  383. mouse button at the start point, move the mouse to the endpoint, and release
  384. the button.
  385.  
  386. SHADED SPHERE
  387.  
  388. This tool is quite nifty for special effects, and works best in a grayscale
  389. palette. Drag out a rectangle, and you will then be prompted to enter three
  390. values specifying the direction of the light source. The X axis runs from left
  391. to right horizontally, the Y axis runs from top to bottom vertically, and a
  392. positive Z value implies that the light source is in front of the screen
  393. (towards the viewer). Some sensible values to enter might be : (5,5,10).
  394.  
  395. FLOOD FILL
  396.  
  397. This tool allows you to colour in areas that are of one colour. For example, if
  398. you have a solid green rectangle, you can colour it in, in a variety of ways.
  399. There are seven "flood modes", that can be selected from the MISC menu, and
  400. then the FLOOD menu.
  401.  
  402. The simplest of these will cause the object to be flood-filled in the current
  403. foreground colour. The other options include Vertical Linear, Horizontal
  404. Linear, and Radial. These options cause the object to be shaded in a smooth
  405. blend of the colour range between the current foreground colour and the current
  406. background colour. If the colours in the range are all part of a smooth
  407. changing scale, these fills can be *very* effective.
  408.  
  409. Note: Due to memory limitations, very complex shapes may not be completely
  410. filled. If this happens, you may have to click a few times on the area to
  411. fill it completely.
  412.  
  413.  
  414. PIXELISE
  415.  
  416. This tool is fairly straightforward - it basically decreases the resolution of
  417. the picture, depending on the current brush thickness. It converts pixels into
  418. larger blocks of the same colour. If the brush is only one pixel thick, then it
  419. will have no effect.
  420.  
  421. COLOUR CHANGE
  422.  
  423. This tool changes any pixels which match the current background colour to the
  424. current foreground colour. If you hold down both mouse buttons, this operation
  425. will be carried out on the whole screen.
  426.  
  427. TEXT
  428.  
  429. On selecting this tool, click the mouse on some part of the canvas. A text
  430. cursor (_) will appear. You can now type some lines of text, pressing ENTER and
  431. the end of each line, and ESC when you have finished. The text will then be
  432. transferred to the cutout, so that you can position it wherever you want.
  433.  
  434. ELLIPSE
  435.  
  436. Allows you to draw an ellipse, filled or hollow. The left mouse button allows
  437. you to draw a filled ellipse, and the right button allows you to draw a hollow
  438. one. The outline colour will be the current foreground colour, and the filling
  439. colour will be the current background colour. To draw the ellipse, click down
  440. on the canvas, and move the mouse around - you will see the ellipse being
  441. dragged out.
  442.  
  443. SPRAYCAN
  444.  
  445. Pretty straightforward - the spraycan produces a dotted pattern on the canvas.
  446. The radius of the spray is determined by the current brush size.
  447.  
  448. IDENTIFY COLOUR
  449.  
  450. This is a useful tool, if you can see a coloured pixel on screen somewhere, but
  451. there are several similar looking colours in the palette, and you're not sure
  452. which one it is. Select this tool, and click down on the unidentified pixel,
  453. and the current foreground colour will be changed to match the colour of the
  454. pixel.
  455.  
  456.  
  457. Also on the brush/tool selection screen are a range of brushes of different
  458. sizes.
  459.  
  460. The PALETTE menu
  461. ----------------
  462.  
  463. This menu deals with the manipulation of the palette. The first two options, ON
  464. and OFF, simply turn the palette box on and off.
  465.  
  466. FREE COLS
  467.  
  468. Sometimes, you may find yourself in a situation where you have run out of
  469. colours. 240 colours can actually be quite limiting. For example, if you are
  470. processing an image that contains predominantly shades of green, and you wish
  471. to draw a new part of the picture that contains lots of red colours, you
  472. may well want to use this option.
  473.  
  474. You are prompted for a number of colours to free, and VGA Art Studio will then
  475. choose the most suitable colours to eliminate. These colours will be remapped
  476. to black, and the picture itself will be updated, so that pixels that were
  477. originally of one of the freed colours are adjusted to the "next best thing".
  478. It is possible, depending on how the palette has been designed, to free as much
  479. as half the colours, and still hardly be able to notice the difference.
  480.  
  481. EDIT
  482.  
  483. This invokes the palette editing screen. The screen is composed of three main
  484. areas :
  485.  
  486. i)      The palette itself, which is in the top left of the screen.
  487.  
  488. ii)     The current foreground colour RGB bars - to the right of
  489.     the palette.
  490.  
  491. iii)    The buttons at the bottom the screen.
  492.  
  493. You can select a current foreground/background colour in the same way as
  494. before, by clicking on the palette with the appropriate mouse button. The
  495. current foreground colour will be displayed in the RGB bar box, so that you can
  496. edit it.
  497.  
  498. To adjust the current foreground colour, click on the RGB colour bars to set
  499. the appropriate level. By finding the correct mixture of Red, Green and Blue,
  500. you can produce any colour you want. It often takes a little practice to get
  501. the desired effect.
  502.  
  503. Note, although it is possible to edit the first 16 colours of the palette in
  504. this way, this is not advised, as VGA Art Studio requires these colours to draw
  505. all those nifty menus, etc.
  506.  
  507. The buttons at the bottom of the screen have the following effects:
  508.  
  509. "LOAD"
  510.  
  511. Loads a new palette from disk.
  512.  
  513. "SAVE"
  514.  
  515. Saves the current palette to disk.
  516.  
  517. "OK"
  518.  
  519. Accepts the changes you have made to the palette, and returns to the main
  520. picture.
  521.  
  522. "CANCEL"
  523.  
  524. Cancels any changes you have made, and returns to the main picture.
  525.  
  526. "BLEND"
  527.  
  528. Blends the colours between the current foreground colour and the current
  529. background colour. This is exceedingly useful for producing smooth palettes.
  530.  
  531. "GREY"
  532.  
  533. Converts all the colours to their monochrome equivalents.
  534.  
  535. "SEPIA"
  536.  
  537. Converts the colours to a nice brown palette - quite like the old fashioned
  538. sepia photographs. This tends to work better for pictures that are fairly
  539. bright - darker pictures tend to be converted to a muddy brown.
  540.  
  541. "MERGE"
  542.  
  543. Like LOAD, but only loads in the colours in the range between the current
  544. foreground colour and the current background colour. All the other colours are
  545. left unchanged.
  546.  
  547. "INVERSE"
  548.  
  549. Remaps all the colours to their colour-negative equivalents. Note - this does
  550. NOT change any of the actual pixel values in the picture/cutout - it just
  551. remaps the palette.
  552.  
  553. "SORT"
  554.  
  555. Sorts the colours in order of intensity.
  556. Note - this WILL change pixel values in the picture/cutout - but you won't see
  557. any difference.
  558.  
  559.  
  560.  
  561.  
  562.  
  563. The MISC menu
  564. -------------
  565.  
  566. The MISC menu deals with a few other options that are available.
  567.  
  568. FLOOD
  569.  
  570. This option handles the different varieties of shaded flood-fill that are
  571. available - plain, linear horizontal, linear vertical and radial. If you
  572. select a flood style other than the plain one, the next shape that you
  573. flood-fill will be shaded in a smooth blend of colours between the current
  574. foreground and background colours.
  575.  
  576. UNDO
  577.  
  578. This option undoes the effect of the last drawing you did on the canvas.
  579.  
  580. IMPORTANT NOTE!!!
  581.  
  582. Because of the way VGA Art Studio stores data, and due to memory limitations
  583. imposed by DOS, while you have a cutout floating around, you cannot use the
  584. UNDO option. Normally this is not a problem, but any drawing that is done using
  585. the 'Drawing with the cutout' method (See 3.0) cannot be undone.
  586.      
  587.  
  588. -----------------------------------------------------------------------------
  589.  
  590.  
  591. 3.0     Extra notes on manipulating the cutout
  592. ==============================================
  593.  
  594.  
  595. When there is a cutout 'floating' above the picture, there are some useful
  596. points that are worth knowing about.
  597.  
  598. When dragging the cutout around or placing the cutout in its destination, any
  599. pixels in the cutout that match the current background colour will be
  600. transparent. If you find that your cutout has a few undesired 'holes' in it,
  601. this is the reason - the remedy is to select a background colour that has not
  602. been used in the cutout.
  603.  
  604. A really nifty feature that you can use is 'drawing with the cutout'. This
  605. works best with fairly small cutouts, depending on how fast your PC is at
  606. drawing. While dragging the cutout around the screen, holding down the CTRL key
  607. will cause the cutout to act as though it were a brush. This can be VERY
  608. effective. Note - the UNDO option cannot be used after doing this. (See the
  609. MISC, UNDO option).
  610.  
  611. Normally when you pick up a cutting, an area of the background colour is left
  612. behind. If you want to avoid that (or if you want to just make a duplicate of
  613. the cutout at some point), release the mouse buttons, then while holding down
  614. the SHIFT key, pick up the cutout, and drag it using the mouse. This will have
  615. the effect of leaving behind on the picture a copy of the cutout.
  616.  
  617.  
  618. --------------------------------------------------------------------------
  619.  
  620.  
  621.  
  622. Appendix A:     VGA Art Studio .ART and .PAL file formats
  623. =========================================================
  624.  
  625.  
  626. The .ART file
  627. -------------
  628.  
  629. All VGA Art Studio picture/cutout files are stored in this format. In fact,
  630. there is no distinction between a picture or a cutout - a picture can be pasted
  631. in as a cutting, and a cutting can be loaded in as a file.
  632.  
  633. There are essentially two image formats - compressed and uncompressed. Before
  634. saving a file, VGA Art Studio works out which format will actually result in a
  635. smaller file, and then saves the file in this format. Actually, it is not quite
  636. as simple as that - each image may need a 'mask',  and whether or not they the
  637. mask is compressed is independent of whether or not the picture itself is
  638. compressed. However, the file format is still relatively easy to use, and is as
  639. follows :
  640.  
  641. +----------+-----------------------------------------------------+-------+
  642. |  Offset  | Description                                         | Bytes |
  643. +----------+-----------------------------------------------------+-------+
  644. |      0   | 123 dec. (acts as a file identifier)                |   1   |
  645. |      1   | Mask included?           (1=yes, 0=no)              |   1   |
  646. |      2   | Size (x) in pixels of the image - INTEL format      |   2   |
  647. |      4   | Size (y) in pixels of the image - INTEL format      |   4   |
  648. |      6   | Image data compressed?   (1=yes, 0=no)              |   1   |
  649. |      7   | Mask data compressed ?   (1=yes, 0=no)              |   1   |
  650. |      8   | Palette data - 256 x (R,G,B) triplets, with         |  768  |
  651. |          | individual intensities from 0..255                  |       |
  652. |    776   | Image data               (may be compressed)        |  ???  |
  653. |    ???   | (optional) Mask data     (may be compressed)        |  ???  |
  654. +----------------------------------------------------------------+-------+
  655.  
  656. As mentioned, both the image data and the mask data may be compressed depending
  657. on the values in bytes 6 and 7 of the header. The two formats are the same for
  658. both the mask and the image, and work as follows:
  659.  
  660. The data in its uncompressed form consists of 64000 bytes, in a straight
  661. forward raster format - with 1 byte per pixel - (acting as an index into the
  662. palette in the case of image data - in the case of mask data, a non-zero value
  663. indicates that the corresponding image pixel IS to be displayed). The bytes are
  664. stored row by row, with each row running from left to right, in standard raster
  665. format.
  666.  
  667. In the compressed format, the algorithm for uncompressing the data runs as
  668. follows :
  669.  
  670. +-----------------------------+
  671. | Read the next byte of data  |
  672. | from the file, (unless we   |<-------------------------------------------+
  673. | now have data for 64000     |                                            |
  674. | pixels, in which case stop).|                                            |
  675. +-----------------------------+                                            |
  676.           |                                                            |
  677.          \ /                                                           |
  678.    +--------------------+    Y     +----------------------------------+    |
  679.    | Is the byte <128 ? |--------->| Use this byte for the next pixel |----+
  680.    +--------------------+          +----------------------------------+    ^
  681.           |  N                                                         |
  682.          \ /                                                           |
  683. +--------------------------------------------------------------------+     |
  684. | Subtract 128 from the value of the byte - call this C. Then read   |     |
  685. | the next byte - this gives you the colour of the next (C+1)        |-----+
  686. | pixels.                                                            |
  687. +--------------------------------------------------------------------+
  688.  
  689. Note:
  690.  
  691. Compressed data is stored a line at a time. Compression using a byte >128 as a
  692. repeat count MUST NOT wrap round from one line to the beginning of the next.
  693.  
  694.  
  695.  
  696. The .PAL file
  697. -------------
  698.  
  699. This is very very straightforward. Each file is 769 bytes long, and consists of
  700. the following data:
  701.  
  702. +----------+-----------------------------------------------------+-------+
  703. |  Offset  | Description                                         | Bytes |
  704. +----------+-----------------------------------------------------+-------+
  705. |      0   | 124 dec. (acts as a file identifier)                |   1   |
  706. |      1   | Palette data - 256 x (R,G,B) triplets, with         |  768  |
  707. |          | individual intensities from 0..255                  |       |
  708. +----------------------------------------------------------------+-------+
  709.  
  710.  
  711. ----------------------------------------------------------------------------
  712.  
  713.  
  714. Appendix B :        The printer interface
  715. =========================================
  716.  
  717. EPSON PRINTER SUPPORT
  718. ---------------------
  719.  
  720. Printing the screen to an Epson printer is possible in a variety of different
  721. formats. Upon invoking the Epson FX-80/Compatible interface screen, you will
  722. see a number of buttons, and a graph at the bottom of the screen. The buttons
  723. allow you to select the orientation, size and detail of the print image. Note,
  724. that due to the way a dot-matrix printer works, the larger the picture, and the
  725. higher the resolution that is selected, the more shades of grey can be printed,
  726. up to a maximum of 16. This is reflected in the graph at the bottom of the
  727. screen, which plots screen intensity (x axis) against printer intensity (y
  728. axis). Clicking and dragging the mouse within the rectangle that bounds the
  729. graph allows you to draw a new one, thus adjusting the overall contrast and
  730. brightness of the picture. A little experimentation is called for!
  731.  
  732. Clicking on the BARS button will cause the printer to produce a grayscale
  733. output that reflects the current settings. This is quite useful for determining
  734. how the picture will come out.
  735.  
  736. Some of the less self-explanatory options are dithering and the line feed
  737. measurement. Dithering will produce a picture that consists of many "random"
  738. dots, giving a stippled effect. A reasonable value for the dithering factor is
  739. anything from 0 to 128. Again, you will need to experiment to find the best
  740. settings. The line feed measurement allows you to change the amount by which
  741. the paper is advanced at each line. With any luck, its default setting should
  742. be suitable, but sadly this is not the case for all printers, so again, you
  743. will have to find the best setting for your printer.
  744.  
  745. Once you have found a reasonable printer profile, you can save it by using the
  746. SAVE button. This profile can then be loaded in each time you want to print
  747. something.
  748.  
  749. ------------------------------------------------------------------------------
  750.  
  751. Appendix C : The ART2ART conversion utility
  752. ===========================================
  753.  
  754. It was my original intention to produce a utility that would convert between
  755. the .ART files and Zsoft's .PCX format, as this is a widely used image
  756. format. However, I have not had the time to do this - perhaps someone else
  757. will! (if you do, drop me a line!!!)
  758.  
  759. The ART2ART utility however, exists to make things slightly easier -
  760. you can use it to convert .ART files to either compressed or uncompressed
  761. format - if you are a programmer, designing sprites, for example, you will
  762. probably find the uncompressed .ART format easier to work with. To get this,
  763. type :
  764.      art2art input.art output.art 0
  765.  
  766. The '0' forces no compression. A '1' forces compression. Specifying neither
  767. 0 nor 1 will cause the program to determine which is most efficient.
  768.  
  769. For further details on the .ART format, see Appendix A.
  770.  
  771. ----------------------------------------------------------------------------
  772.  
  773.  
  774. Appendix D : About Mooose Software
  775. ==================================
  776.  
  777. "Founded" in 1990 by :
  778.  
  779. Ben Stragnell
  780. Graham Sanderson
  781. Samer Abdallah
  782.  
  783.        \     \ /            \/    ___//                                        
  784.      \_ /    //             \]   //~~~                                         
  785.        \\    ]]            //   //                                             
  786.       \__\ _]_\_          _\\ __/\//                                           
  787.       __ _____\        /_\//  _                                            
  788.       __ _/     \/~~~~~~\/ \__ //                                              
  789.        _/       ]        ]    \/                                               
  790.            /]  /  \  ]                                                     
  791.           /  ](0  0)]                                                      
  792.          /   ]      ]                                                      
  793. ____________~   ]        ]                                                     
  794.         \ <    > /                                                     
  795.            / \______/                                                      
  796.            ]      ]                                                        
  797.            ]                                                               
  798.           ]                                                                
  799.  
  800. The moose is without doubt one of the finest animals ever invented, its
  801. majestic antlers towering skyward, as it stands proudly, one of Nature's
  802. most cunning creations. It's also got a really cool name, and you can put
  803. an extra 'o' in it, to make it last just that little bit longer. Oh yes.
  804.  
  805. Keep an eye out for more releases from Mooose Software, and please support
  806. the Public Domain!
  807.  
  808.